package com.cykj.mapper;

import com.cykj.pojo.CyDepartment;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DepartmentMapper {
    /**
     * 获取某个科室的信息
     * @param id 科室id
     * @return
     */
    CyDepartment getInfoById(int id);

    /**
     * 获取所有的科室信息
     * @return 为一个科室列表
     */
    List<CyDepartment> getAllDepart();

    /**
     * 一个为先前的展示状态，一个为科室的id
     * @return
     */
    int changeStatus(@Param("proStatus") int proStatus, @Param("departId") int departId);

    /**
     * 科室是否展现出来
     * 一个为先前的展示状态，一个为科室的id
     * @return
     */
    int changeShow(@Param("proShow") int proStatus, @Param("departId") int departId);

    /**
     * 查询科室
     * @param value 关键词
     * @return 科室列表
     */
    List<CyDepartment> searchDepartInfo(@Param("value") String value);

    /**
     * 修改科室内容
     * @param departId  科室id
     * @param departName  科室名称
     * @param departIntro  科室简介
     * @return 修改是否成功
     */
    int alterDepart(@Param("departId") int departId, @Param("departName") String departName, @Param("departIntro") String departIntro);

    /**
     * 查找要修改的科室内容与原来地是否一致
     * @param departId  科室id
     * @param departName  科室名称
     * @param departIntro  科室简介
     * @return 修改是否成功
     */
    CyDepartment searchAlterDepart(@Param("departId") int departId, @Param("departName") String departName, @Param("departIntro") String departIntro);

    /**
     * 删除科室
     * @param departId
     * @return
     */
    int deleteDepart(int departId);
    /**
     * 获取所有科室的名称
     */
    List<String> getAllDepartName();
    int commitDelete(String departName);

    CyDepartment selectDepartId(String fatherDepart);

    int addDepartCommit(@Param("departName") String departName,
                        @Param("departmentParentId") int departmentParentId,
                        @Param("status") int status,
                        @Param("show") int show,
                        @Param("departInfo") String departInfo);


}
